#pragma once
#include "Enemy.h"
#include "GameplayState.h"
class Boss :
	public Enemy
{
public:
	Boss() = default;
	virtual ~Boss() = default;
	enum BossType{BOSS_OGRE = 120, BOSS_SPIDER, BOSS_VAMPIRE, BOSS_DRAGON};
	/**********************************************************/
	// Interface:
	//	- virtual functions for children classes to override
	//	virtual void	Update(float elapsedTime)		override;
		virtual void	Render(void)					override;

	//	virtual SGD::Rectangle GetRect(void)	const			override;
	virtual int		GetType(void)	const			override	{ return ENEMY_BOSS; }
	//	virtual void	HandleCollision(const GameObject* pOther)	override;


	//accessors
	int GetLevel() const { return level; }

	//mutators
	void SetLevel(int lvl) { level = lvl; }

	void SetPlayerNextLevel();

	void SaveHighScore(void);

private:
	int level = GameplayState::GetInstance()->GetCurrLevel();
};

